
\chapter{绪论}\label{ch_intro}

\section{本章概要}

\paragraph{一句话描述}

用”hello world“程序作为向导，站在一万米的高空看操作系统的发展和特征！

\paragraph{概述}

计算机系统是由硬件和系统软件（（主要是操作系统）组成的，它们共同工作来运行应用程序。纵观计算机相对很短的发展史，虽然计算机系统的具体实现方式不断变化，越来越复杂，但是计算机系统内在的概念保持相对稳定。所有计算机系统在原理上基于天才的图灵机，在设计上基于伟大的冯诺依曼架构，有相似的硬件和软件组件，它们执行着相似的功能。本章主要以操作系统为主来理解计算机系统如何支持一个Ｃ语言编写的”hello world“程序完成它的功能。

这里先简要介绍一下操作系统的历史，然后将从一个Ｃ语言编写的”hello world“程序开始，讲述操作系统和涉及到的编译，计算机原理等的一些基础知识，以及对操作系统的基本架构和用于本书的ucore教学操作系统做一个初步介绍。在其中穿插介绍操作系统的基本概念、操作系统抽象以及操作系统的特征。

%
%本书希望通过设计实现操作系统来更好地理解操作系统原理和概念。设计实现操作系统其实就是设计实现一个可以管理CPU、内存和各种外设，并管理和服务应用软件的系统软件。为此还是需要先了解一些基本的计算机原理和编程的知识。本书的例子和描述需要读者学习过计算机原理课程、程序设计课程，掌握C语言编程（了解指针等的编程）。如需完成基于RISCore实验，则对基于RISC-V的体系结构有一定的了解，大致了解RISC-V的汇编语言。

%\input{prerequisite}
\input{overlook}
\input{hardware}
\input{ucore}

\section{小结}
本章以分析一个“hello world”程序的执行过程为例子，概要地介绍了操作系统运行的计算机硬件架构，包括CPU、内存和外设，并对操作系统的历史发展、定义、目标、接口、抽象和特征等进行了阐述。最后简要介绍了课程实验用到的ucore操作系统。